package com.stars.pao.seleniumtest;

import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

import java.util.List;
import java.util.concurrent.TimeUnit;

import static java.lang.Thread.sleep;

public class Main {
    public static void main(String[] args) throws InterruptedException {
        test1();
        //test2();
        //test3();
        //test4();
    }


    private static void test4() {
        //创建选项
        ChromeOptions options = new ChromeOptions();
        // 允许所有请求
        options.addArguments("--remote-allow-origins=*");
        WebDriver webDriver = new ChromeDriver(options);
        //自动打开百度页面
        webDriver.get("https://www.baidu.com");
        String url =webDriver.getCurrentUrl();
        String title =webDriver.getTitle();

        if(url.equals("https://www.baidu.com/") && title.equals("百度一下，你就知道")){
            System.out.println("当前url："+url);
            System.out.println("当前title："+title);
            System.out.println("测试通过");
        }else {
            System.out.println("当前url："+url);
            System.out.println("当前title："+title);
            System.out.println("测试不通过");
        }
    }

    private static void test3() {
        //创建选项
        ChromeOptions options = new ChromeOptions();
        // 允许所有请求
        options.addArguments("--remote-allow-origins=*");
        WebDriver webDriver = new ChromeDriver(options);
        //自动打开百度页面
        webDriver.get("https://www.baidu.com");
        String button_value = webDriver.findElement(By.cssSelector("#su")).getAttribute("value");
        if(button_value.equals("百度一下")) {
            System.out.println("测试通过");
        }else {
            System.out.println(button_value);
            System.out.println("测试不通过");
        }
    }

    private static void test2() throws InterruptedException {
        //创建选项
        ChromeOptions options = new ChromeOptions();
        // 允许所有请求
        options.addArguments("--remote-allow-origins=*");
        WebDriver webDriver = new ChromeDriver(options);
        //自动打开百度页面
        webDriver.get("https://www.baidu.com");
        sleep(3000);
        webDriver.findElement(By.cssSelector("#kw")).sendKeys("java");
        webDriver.findElement(By.cssSelector("#su")).click();
        sleep(3000);
        // 隐式等待
        //webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.DAYS);
        webDriver.findElement(By.cssSelector("#kw")).clear();
        // submit form表单和click效果一致，不在form标签中则报错
    }

    private static void test1() throws InterruptedException {
        int flag = 0;
        //创建选项
        ChromeOptions options = new ChromeOptions();
        // 允许所有请求
        options.addArguments("--remote-allow-origins=*");
        WebDriver webDriver = new ChromeDriver(options);
        //自动打开百度页面
        webDriver.get("https://www.baidu.com");
        // API使用
        // 1.定位元素
        // 找到百度搜索框+输入软件测试
        // css选择器定位元素
        //WebElement element = webDriver.findElement(By.cssSelector(".s_ipt"));
        //element.sendKeys("软件测试");
        //xpath定位元素
        WebElement element = webDriver.findElement(By.xpath("//*[@id=\"kw\"]"));
        element.sendKeys("软件测试");
        // 找到百度一下按钮
        // 点击
        webDriver.findElement(By.cssSelector("#su")).click();
        sleep(3000);
        // 校验
        // 找到搜索结果

        List<WebElement> elements = webDriver.findElements(By.cssSelector("a em"));
        for (WebElement webElement : elements) {
            if (webElement.getText().equals("测试")) {
                flag = 1;
                System.out.println("测试通过");
                break;
            }
        }
        if(flag == 0){
            System.out.println("测试不通过");
        }
    }
}
